package tables

import (
	"app-box/config"
	"app-box/models"
	filestore "app-box/tools/FileStore"
	"path/filepath"
)

type App struct {
	Table
	UserID       models.IDType        // APP所属的用户ID
	Platform     string               // 平台 Android/iOS
	Name         string               // app显示名称
	PackageName  string               // 安卓app包名，iOS为 bundle ID
	Version      string               // 安装包文件内配置的版本号信息，对应iOS：version，Android：version name
	BuildVersion string               // 安装包文件内配置的编译版本信息，对应iOS：build version，Android：version code
	VersionTitle string               // 此次更新版本名称，可自由填写
	UpdateLog    string               // 更新日志，可自由填写
	Icon         filestore.FileString // 图标路径
	PackageUrl   filestore.FileString // 安装包路径
	PlistUrl     filestore.FileString // Plist安装路径（仅iOS）
}

// 获取APP文件保存的绝对路径
func (app App) AppSavePath() string {
	idStr, err := app.ID.ToString()
	if err != nil {
		panic(err)
	}
	return filepath.Join(config.LocalFile.FilaSavePath, "app", idStr)
}
